As the popularity of the Internet increases, users who want to receive media content over the Internet and content providers who offer such services exponentially grow. Most media content files, such as movie files, including video and audio information tend to be large, which can cause a delay (lag) problem for streaming or downloading the media content files. Further, the growing number of users along with the growing number of content providers is causing congestion, latency, and other problems in the Internet. The congestion and latency problems are particularly critical for media content files that should be delivered in a real time or near real time sequence. For example, a movie on demand service allowing a user to watch a movie over the Internet should deliver a stream of movie data (a media content file) in near real time sequence in order not to disturb the smooth playing of the movie.
In order to mitigate the above-mentioned problems, some content providers distribute several copies of media content files of media content to servers that are located in close proximity to user devices, i.e., a few hubs of connections away from the user devices. These servers may be placed at a location known as the “edge” of the network, and thus may be called “edge servers.” Typically, user devices that are located “beyond” the edge of the network communicate with the edge servers over the Internet. After the media content file is distributed amongst edge servers, the media content file becomes available from multiple edge servers that are located in different geographical localities on the network, such as the Internet. In this manner, media content files are pushed to the edge of the network where user requests may be served from one of multiple edge servers, usually from the geographically closest edge server. Thus, the media content files can travel a relatively short distance (from the edge server to the user device).
However, the current approach having edge servers may not solve the above-mentioned problems because of, among other reasons, the inherent problems in delivering media content files over the Internet. For example, insufficient capacity on a particular communication link, slow processing speed of networking equipment, and latency in the Internet because of the time associated with data traveling over long distances may still exist as long as the user devices and the edge servers are communicating over unknown paths in the Internet.
Further, the delivery of media content from an edge server to user devices can place a heavy load on the network that can result in lost data. For example, when data is sent across the Internet, the user device may not receive all of the data transmitted from the edge server. This is because, for example, the media content may pass through some routers where some data packets of the media content file may be dropped due to congestion. In some cases, dropped packets can slow or halt the delivery of media content because, as more data is resent to recover the dropped packets, routers can become more congested and thereby drop more packets.